package com.gzhryc.net_marketing.cloud.micro.api.dto.v1;

import com.gzhryc.common.api.SecurityResponse;

import java.io.Serializable;

public class GoodsPayCheckResponse  extends SecurityResponse<GoodsPayCheckResponse.Body> {

    private static final long serialVersionUID = 1L;

    public GoodsPayCheckResponse() {
        this.body = new Body();
    }

    public GoodsPayCheckResponse(Integer code) {
        this.body = new Body();
        this.code = code;
    }

    public GoodsPayCheckResponse(Integer code, String msg) {
        this.body = new Body();
        this.code = code;
        this.msg = msg;
    }

    public static class Body implements Serializable {

        private static final long serialVersionUID = 1L;

        private Double goodsMoney;      //单个商品价格，在前端购买与后台修改价格同时发生时，调整页面显示价格
        private Double money = 0d;
        private Double walletMoney = 0d;
        private Double maxWalletMoney = 0d;
        private Double rewardMoney = 0d;
        private Double maxRewardMoney = 0d;
        private Double payMoney = 0d;
        private Double couponMoney = 0d;

        private Double walletMoneyBalance = 0d;
        private Double rewardMoneyBalance = 0d;

        private DefAddress address;
        private LogisticsInfo logistics;

        public Double getGoodsMoney() {
            return goodsMoney;
        }

        public void setGoodsMoney(Double goodsMoney) {
            this.goodsMoney = goodsMoney;
        }

        public Double getMoney() {
            return money;
        }

        public void setMoney(Double money) {
            this.money = money;
        }

        public Double getWalletMoney() {
            return walletMoney;
        }

        public void setWalletMoney(Double walletMoney) {
            this.walletMoney = walletMoney;
        }

        public Double getMaxWalletMoney() {
            return maxWalletMoney;
        }

        public void setMaxWalletMoney(Double maxWalletMoney) {
            this.maxWalletMoney = maxWalletMoney;
        }

        public Double getRewardMoney() {
            return rewardMoney;
        }

        public void setRewardMoney(Double rewardMoney) {
            this.rewardMoney = rewardMoney;
        }

        public Double getMaxRewardMoney() {
            return maxRewardMoney;
        }

        public void setMaxRewardMoney(Double maxRewardMoney) {
            this.maxRewardMoney = maxRewardMoney;
        }

        public Double getPayMoney() {
            return payMoney;
        }

        public void setPayMoney(Double payMoney) {
            this.payMoney = payMoney;
        }

        public Double getCouponMoney() {
            return couponMoney;
        }

        public void setCouponMoney(Double couponMoney) {
            this.couponMoney = couponMoney;
        }

        public Double getWalletMoneyBalance() {
            return walletMoneyBalance;
        }

        public void setWalletMoneyBalance(Double walletMoneyBalance) {
            this.walletMoneyBalance = walletMoneyBalance;
        }

        public Double getRewardMoneyBalance() {
            return rewardMoneyBalance;
        }

        public void setRewardMoneyBalance(Double rewardMoneyBalance) {
            this.rewardMoneyBalance = rewardMoneyBalance;
        }

        public DefAddress getAddress() {
            return address;
        }

        public void setAddress(DefAddress address) {
            this.address = address;
        }

        public LogisticsInfo getLogistics() {
            return logistics;
        }

        public void setLogistics(LogisticsInfo logistics) {
            this.logistics = logistics;
        }
    }

    public static class DefAddress {

        private Long id;
        private String receiveName;
        private String receivePhone;
        private String address;

        public Long getId() {
            return id;
        }

        public void setId(Long id) {
            this.id = id;
        }

        public String getReceiveName() {
            return receiveName;
        }

        public void setReceiveName(String receiveName) {
            this.receiveName = receiveName;
        }

        public String getReceivePhone() {
            return receivePhone;
        }

        public void setReceivePhone(String receivePhone) {
            this.receivePhone = receivePhone;
        }

        public String getAddress() {
            return address;
        }

        public void setAddress(String address) {
            this.address = address;
        }
    }

    public static class LogisticsInfo {

        private String companyId;
        private String name;        //物流公司名称
        private String money;       //物流费用

        public String getCompanyId() {
            return companyId;
        }

        public void setCompanyId(String companyId) {
            this.companyId = companyId;
        }

        public String getName() {
            return name;
        }

        public void setName(String name) {
            this.name = name;
        }

        public String getMoney() {
            return money;
        }

        public void setMoney(String money) {
            this.money = money;
        }
    }
}
